<?php
/**
 * Класс содержит поля форм модуля User
 * @author nrnwest@gmail.com
 *
 */
class User_Form_Fields extends Arm_Form_Fields
{

    public function record()
    {
        $record = new Zend_Form_Element_Radio('record');
        $record->addMultiOption('0', Arm_Translate::_('Нет'));
        $record->addMultiOption('1', Arm_Translate::_('Да'));
        $record->setValue('0');
        $record->setLabel(Arm_Translate::_('Запомнить вас?')); 
        return $record;
    }

    /**
     * Таблица::поле user_user::login
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "login".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     * 
     */
    public function userLogin()
    {
        $userLogin = new Zend_Form_Element_Text('login');
        $userLogin->setLabel(Arm_Translate::_('Логин'));
        $userLogin->setDescription(Arm_Translate::_('Минимальная длина логина 4 символа'));
        $userLogin->setName('login');
        $userLogin->setRequired(true);
        $userLogin->addFilter(new Zend_Filter_StripTags());
        $userLogin->addValidator(new Zend_Validate_StringLength(4, 10));
        $userLogin->setAttrib('maxlength', 10);
        return $userLogin;
    }

    /**
     * Таблица::поле user_user::password
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "password".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     * 
     */
    public function userPassword()
    {
        $userPassword = new Zend_Form_Element_Password('password');
        $userPassword->setLabel(Arm_Translate::_('Паспорт'));
        $userPassword->setDescription(Arm_Translate::_('Паспорт должен состоять с букв и цифр'));
        $userPassword->addValidator(new User_Validate_Password());
        $userPassword->setName('password');
        $userPassword->setRequired(true);
        $userPassword->addFilter(new Zend_Filter_StripTags());
        return $userPassword;
    }
    
    /**
     * Повтор пароля.
     * 
     * @return Zend_Form_Element_Password
     */
    public function rePassword($passwordField = 'password')
    {
     $rePassword = new Zend_Form_Element_Password('rePassword');
     $rePassword->addValidator(new Arm_Validate_Repassword($passwordField));
     $rePassword->setLabel(Arm_Translate::_('Повторите  паспорт'));
     $rePassword->setRequired(true);
     return $rePassword;
    }

    /**
     * Таблица::поле user_user::id
     * 
     * Возвращает элемент формы Zend_Form_Element_Hidden с
     * именем "id".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     *        
     * @return Zend_Form_Element_Hidden
     */
    public function userId()
    {
        $userId = new Zend_Form_Element_Hidden('id');
        $userId->setRequired(true);
        return $userId;
    }

    /**
     * Таблица::поле user_user::key
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "key".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userKey()
    {
        $userKey = new Zend_Form_Element_Text('key');
        $userKey->setLabel(Arm_Translate::_('Ведите данные'));
        $userKey->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $userKey->setRequired(true);
        $userKey->addFilter(new Zend_Filter_StripTags());
        $userKey->addValidator(new Zend_Validate_StringLength(0, 32));
        $userKey->setAttrib('maxlength', 32);
        return $userKey;
    }

    /**
     * Таблица::поле user_chade_password::id_user
     * 
     * Возвращает элемент формы Zend_Form_Element_Hidden с
     * именем "id_user".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     *        
     * @return Zend_Form_Element_Hidden
     */
    public function chadeIdUser()
    {
        $chadeIdUser = new Zend_Form_Element_Hidden('id_user');
        $chadeIdUser->setRequired(true);
        return $chadeIdUser;
    }

    /**
     * Таблица::поле user_temp_register::date_del
     * 
     * Возвращает элемент формы Zend_Form_Element_Hidden с
     * именем "date_del".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     *        
     * @return Zend_Form_Element_Hidden
     */
    public function tempDateDel()
    {
        $tempDateDel = new Zend_Form_Element_Hidden('date_del');
        $tempDateDel->setRequired(true);
        return $tempDateDel;
    }

    /**
     * Таблица::поле user_group::name
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "name".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function groupName()
    {
        $groupName = new Zend_Form_Element_Text('name');
        $groupName->setLabel(Arm_Translate::_('Ведите данные'));
        $groupName->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $groupName->setAllowEmpty(true);
        $groupName->addFilter(new Zend_Filter_StripTags());
        $groupName->addValidator(new Zend_Validate_StringLength(0, 20));
        $groupName->setAttrib('maxlength', 20);
        return $groupName;
    }

    /**
     * Таблица::поле user_group::title
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "title".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function groupTitle()
    {
        $groupTitle = new Zend_Form_Element_Text('title');
        $groupTitle->setLabel(Arm_Translate::_('Ведите данные'));
        $groupTitle->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $groupTitle->setAllowEmpty(true);
        $groupTitle->addFilter(new Zend_Filter_StripTags());
        $groupTitle->addValidator(new Zend_Validate_StringLength(0, 255));
        $groupTitle->setAttrib('maxlength', 255);
        return $groupTitle;
    }

    /**
     * Таблица::поле user_temp_register::data
     * 
     * Возвращает элемент формы Zend_Form_Element_Textarea с
     * именем "data".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     * 
     * @return Zend_Form_Element_Textarea
     */
    public function tempData()
    {
        $tempData = new Zend_Form_Element_Textarea('data');
        $tempData->setLabel(Arm_Translate::_('Ведите данные'));
        $tempData->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $tempData->setRequired(true);
        $tempData->addFilter(new Zend_Filter_StripTags());
        //$tempData->addValidator(new Zend_Validate_StringLength(100, 3000));
        $tempData->setAttribs(array('cols'=>80, 'rows'=>20));
        return $tempData;
    }

    /**
     * Таблица::поле user_user::id_group
     * 
     * Возвращает элемент формы Zend_Form_Element_Hidden с
     * именем "id_group".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     *        
     * @return Zend_Form_Element_Hidden
     */
    public function userIdGroup()
    {
        $userIdGroup = new Zend_Form_Element_Hidden('id_group');
        $userIdGroup->setRequired(true);
        $userIdGroup->setValue('2');
        return $userIdGroup;
    }

    /**
     * Таблица::поле user_user::date_register
     * 
     * Возвращает элемент формы Zend_Form_Element_Hidden с
     * именем "date_register".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     *        
     * @return Zend_Form_Element_Hidden
     */
    public function userDateRegister()
    {
        $userDateRegister = new Zend_Form_Element_Hidden('date_register');
        $userDateRegister->setRequired(true);
        return $userDateRegister;
    }

    /**
     * Таблица::поле user_user::email
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "email".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userEmail()
    {
        $userEmail = new Zend_Form_Element_Text('email');
        $userEmail->setLabel(Arm_Translate::_('Ведите данные'));
        $userEmail->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $userEmail->setRequired(true);
        $userEmail->addFilter(new Zend_Filter_StripTags());
        $userEmail->addValidator(new Zend_Validate_StringLength(0, 255));
        $userEmail->setAttrib('maxlength', 255);
        return $userEmail;
    }

    /**
     * Таблица::поле user_user::initial
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "initial".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userInitial()
    {
        $userInitial = new Zend_Form_Element_Text('initial');
        $userInitial->setLabel(Arm_Translate::_('Ваши Инициалы'));
        $userInitial->setDescription(Arm_Translate::_('фамилия Имя Отчество'));
        $userInitial->setAllowEmpty(true);
        $userInitial->addFilter(new Zend_Filter_StripTags());
        $userInitial->addValidator(new Zend_Validate_StringLength(5, 255));
        $userInitial->setAttrib('maxlength', 255);
        return $userInitial;
    }

    /**
     * Таблица::поле user_user::country
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "country".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userCountry()
    {
        $userCountry = new Zend_Form_Element_Text('country');
        $userCountry->setLabel(Arm_Translate::_('Cтрана'));
        $userCountry->setAllowEmpty(true);
        $userCountry->addFilter(new Zend_Filter_StripTags());
        $userCountry->addValidator(new Zend_Validate_StringLength(0, 50));
        $userCountry->setAttrib('maxlength', 50);
        return $userCountry;
    }

    /**
     * Таблица::поле user_user::city
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "city".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userCity()
    {
        $userCity = new Zend_Form_Element_Text('city');
        $userCity->setLabel(Arm_Translate::_('Город'));
        $userCity->setAllowEmpty(true);
        $userCity->addFilter(new Zend_Filter_StripTags());
        $userCity->addValidator(new Zend_Validate_StringLength(0, 50));
        $userCity->setAttrib('maxlength', 50);
        return $userCity;
    }

    /**
     * Таблица::поле user_user::company
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "company".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userCompany()
    {
        $userCompany = new Zend_Form_Element_Text('company');
        $userCompany->setLabel(Arm_Translate::_('Компания'));
        $userCompany->setAllowEmpty(true);
        $userCompany->addFilter(new Zend_Filter_StripTags());
        $userCompany->addValidator(new Zend_Validate_StringLength(0, 50));
        $userCompany->setAttrib('maxlength', 50);
        return $userCompany;
    }

    /**
     * Таблица::поле user_user::phone
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "phone".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userPhone()
    {
        $userPhone = new Zend_Form_Element_Text('phone');
        $userPhone->setLabel(Arm_Translate::_('Телефон'));
        $userPhone->setAllowEmpty(true);
        $userPhone->addFilter(new Zend_Filter_StripTags());
        $userPhone->addValidator(new Zend_Validate_StringLength(0, 20));
        $userPhone->setAttrib('maxlength', 20);
        return $userPhone;
    }

    /**
     * Таблица::поле user_user::phonejob
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "phonejob".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function userPhonejob()
    {
        $userPhonejob = new Zend_Form_Element_Text('phonejob');
        $userPhonejob->setLabel(Arm_Translate::_('Робочий Телефон'));
        $userPhonejob->setAllowEmpty(true);
        $userPhonejob->addFilter(new Zend_Filter_StripTags());
        $userPhonejob->addValidator(new Zend_Validate_StringLength(0, 20));
        $userPhonejob->setAttrib('maxlength', 20);
        return $userPhonejob;
    }


}

